﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DNStudy.lib
{
    class HotKey
    {
        [DllImport("user32.dll")]
        // 用于注册热键
        public static extern bool RegisterHotKey(
            IntPtr hWnd,                // 要定义热键的窗口的句柄
            int id,                     // 定义热键 ID （不能与其它 ID 重复）           
            KeyModifiers fsModifiers,   // 标识热键是否在按 Alt 、 Ctrl 、 Shift 、 Windows 等键时才会生效
            Keys vk                     // 定义热键的内容
        );
        [DllImport("user32.dll")]
        // 注销热键
        public static extern bool UnregisterHotKey(
            IntPtr hWnd,                // 要取消热键的窗口的句柄
            int id                      // 要取消热键的 ID
        );
        // 定义了辅助键的名称（将数字转变为字符以便于记忆，也可去除此枚举而直接使用数值）
        [Flags()]
        public enum KeyModifiers
        {
            None = 0,
            Alt = 1,
            Ctrl = 2,
            Shift = 4,
            WindowsKey = 8
        }
    }
}
